// 全局请求封装
const BASE_URL = 'http://localhost:8080/api'
// 请求超出时间
const timeout = 5000

// 需要修改token，和根据实际修改请求头
export default (params) => {
	let url = params.url;
	let method = params.method || "GET";
	let data = params.data || {};
	let header = {
		'Content-Type': 'application/json;charset=UTF-8',
		'Authorization': 'Bearer ' + uni.getStorageSync('token') || '',
		...params.header
	}
	return new Promise((resolve, reject) => {
		uni.request({
			url: BASE_URL + url,
			method: method,
			header: header,
			data: data,
			timeout,
			success(response) {
				const res = response.data
				// 根据返回的状态码做出对应的操作
				//获取成功
				// console.log(res.statusCode);
				if (res.code === 200) {
					if (res.data && res.data.token) {
						uni.setStorageSync('token', res.data.token);
					}
					uni.showToast({
					  title: res.message,
					  icon: 'success'
					});
					resolve(res);
				} else {
					reject(response);
				}
			},
			fail(err) {
				console.log(err);
				uni.showToast({
					title: '请求失败，请稍后重试',
					icon: "error",
					duration: 2000,
				});
				reject(err);
			},
			complete() {
				// 不管成功还是失败都会执行
				uni.hideLoading();
				uni.hideToast();
			}
		});
	}).catch((error) => {
		console.error('请求发生错误:', error);
	});
};